package eteam.aps.mapper;

import eteam.aps.model.entity.WorkingProcedure;
import eteam.aps.model.vo.working_procedure.WorkingProVo;
import eteam.aps.model.vo.working_procedure.WorkingProcedureShowVo;
import eteam.aps.model.vo.working_procedure.WorkingProcedureVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 工序信息 持久层;
 *
 * @author LiuLei
 */
@Mapper
public interface WorkingProcedureMapper {

    /**
     * 根据条件查询 工序总数
     *
     * @param map 条件查询
     * @return 查询总数
     */
    int selCountByWpq(Map<String, Object> map);

    /**
     * 根据条件分页查询 工序信息
     *
     * @param map 查询条件
     * @return 工序集
     */
    List<WorkingProcedureShowVo> selWPJsp(Map<String, Object> map);

    /**
     * 添加工序信息
     *
     * @param workingProcedure 工序
     * @return 添加的条数
     */
    int saveWP(WorkingProcedure workingProcedure);

    /**
     * 根据条件删除 工序信息
     *
     * @param map 条件
     * @return 删除的条数
     */
    int delWP(Map<String, Object> map);

    /**
     * 根据条件修改 工序信息
     *
     * @param workshopSection 工序
     * @return 修改的条数
     */
    int updateWP(WorkingProcedure workshopSection);

    /**
     * 根据条件分页查询 工序信息
     *
     * @param map 查询条件
     * @return 工序集
     */
    List<WorkingProcedureVo> selWPSimJsp(Map<String, Object> map);

    /**
     * 根据工序编号 和工序名称 判断是否存在工序
     *
     * @param map 条件查询
     * @return 查询的条数
     */
    int selByProNameAndProScn(Map<String, Object> map);

    /**
     * 根据工序名称
     * @param map 条码
     * @return
     */
    WorkingProcedureVo selWPSimByName( Map<String, Object> map);

    /**
     * 查询所有工序信息
     * @param state 状态不为删除状态
     * @return 工序集
     */
    List<WorkingProVo> selectAll(int state);

    /**
     * 根据编码查询前置工序
     * @param map 查询条件
     * @return 前置工序
     */
    String selectPreWorkByCode(Map<String,Object> map);

}